Золотодобыча — одна из самых перспективных отраслей промышленности, поскольку имеет значительный потенциал для роста. В силу своей долговечности, устойчивости к коррозии, золото стало важнейшим элементом финансового рынка и крупнейшим источником инвестиций. Хранить его можно практически бесконечно, а ликвидность этого металла сохраняет своё многовековое постоянство.
Золото в природе встречается в виде самородного металла или в составе золотосодержащих минералов, в которых кроме золота могут содержаться серебро, медь, свинец, железо, ртуть, висмут, металлы платиновой группы и другие. Самородное золото никогда не бывает химически чистым и всегда cодержит примеси.
В мире россыпные месторождения, где золото находится в свободном виде, близки к исчерпанию, и основная часть золота на планете уже выделяется из руд.
Большая часть добываемых в настоящее время золотосодержащих руд относится к сульфидному типу руд, содержащих пирит (FeS), арсенопирит (FeAsS) и, в виде примесей, небольшие количества меди, реже свинца, сурьмы, теллура и других. Зёрна самородного золота в таких рудах могут быть покрыты плёнками породных минералов (пирита и арсенопирита) и не освобождаются даже при очень мелкой крупности помола, что существенно затрудняет его извлечение.
Выбранную из карьера или добытую в шахте руду отвозят на горно-обогатительный комбинат. Схемы и режимы переработки руд на комбинате существенно зависят от содержания золота и размеров его частиц, минерального состава руд, их разрушаемости, наличия или отсутствия примесей, осложняющих извлечение золота.
Обогащение руды — совокупность методов переработки природного минерального сырья, которое представляет собой естественную смесь ценных компонентов и пустой породы, с целью получения концентратов, существенно обогащенных одним или несколькими ценными компонентами. Обогащение руды осуществляется преимущественно механическими, а также термическими и химическими методами.
Типовые схемы переработки золотосодержащих руд включают в себя (в разном составе) набор технологических операций: дробления и измельчения, гравитационного или флотационного обогащения с выделением отвальных хвостов (отходов производства) и концентратов. Полученный флотоконцентрат отгружают на гидрометаллургический комбинат. Если технологической схемой горно-обогатительного комбината предусмотрено дальнейшее обогащение флотоконцентрата, то он поступает на стадию химического обогащения (например, цианидным выщелачиванием) для перевода золота в раствор, из которого его осаждают электролизом, и дальнейшей плавкой получают сплав Доре. Далее полученный сплав отгружается на аффинажный завод, где в процессе многократного плавления и последующей кристаллизации осуществляется окончательная очистка металла.
Поведение зёрен самородного золота и золотосодержащих минералов в процессах обогащения зависит от их состава и вкраплённости. В зависимости от крупности самородное золото классифицируют на крупное (более 2 мм), мелкое (0,05–2 мм), пылевидное (5–50 мкм) и тонкодисперсное (менее 5 мкм).
Крупновкраплённые золотосодержащие минералы, а также крупное и мелкое самородное золото хорошо извлекаются с помощью гравитационных процессов, но плохо флотируются и медленно цианируются. Пылевидное и частично мелкое золото плохо извлекается с помощью гравитационных процессов, но хорошо флотируется и хорошо цианируется. Тонкодисперсное золото плохо извлекается не только гравитационными процессами, но и флотацией, если оно не связано с минералами-носителями. Такое золото вполне удовлетворительно извлекается только в результате гидрометаллургической обработки.
При мелком и неравномерном вкраплении золота лучшие результаты могут быть получены при обогащении с использованием многостадийных флотационных схем. Флотация как единственный процесс переработки руды предпочтительнее прямого цианирования исходной руды, если она обеспечивает высокую степень извлечения золота.
Флотация — процесс разделения тонкоизмельчённых частиц, применяемый для обогащения руд металлов, посредством воздушных пузырьков в пульпе, осуществляемый за счёт разницы в адгезии отдельных фракций сырья.
Применение флотации позволяет повысить комплексность использования руд с извлечением из них кроме золота других ценных компонентов (меди, серебра, свинца, барита, урана, селена, теллура и др.), а также позволяет удалить из руды вредные для последующего цианирования примесей таких, как сульфиды мышьяка, сурьмы, селена и теллура.
Чтобы отсечь пустую породу и отобрать как можно больше золотосодержащих частиц, пульпа (водная взвесь руды), перемалывается в барабанах в присутствии шаров из высокопрочной стали. Продукт измельчения отправляется на разделение крупных и мелких фракций. Самая тонкая пыль уходит на флотацию, крупная — на доизмельчение.
Сульфидные плёнки, окружающие золото, не смачиваются водой и находятся в пульпе во взвешенном состоянии. Это облегчает процесс флотации.
Продувание пульпы воздухом повышает производительность процесса флотационного обогащения. Эффективность флотации определяется оптимальными гидродинамическими условиями.
При флотационном обогащении золотосодержащих руд применяют смачиватели (например, высокомолекулярные спирты), которые могут увеличить адгезию пузырьков к частицам, содержащим золото. Для флотационного извлечения золота используются обычные при флотации сульфидов реагенты (ксантогенаты, аэрофлоты, сульфат меди и пенообразователи).
Депрессанты — вещества, избирательно подавляющие флотируемость каких-либо минералов, содержащих целевой компонент, либо пустой породы. Депрессия легкофлотируемой пустой породы достигается загрузкой органических реагентов, таких как карбоксиметилцеллюлозы, поскольку крахмал при больших расходах подавляет флотацию золота. Силикат натрия также используется для подавления флотируемости шлама и его диспергирования.
Пузырьки окружают сульфидные «капсулы» и поднимают их наверх. В результате флотации лёгкие золотосодержащие частички оказываются на поверхности пульпы. Ценная пена сливается и подвергается дальнейшей очистке. А руда, которая ещё осталась во флотационной машине («хвосты»), может поступать на доизмельчение и снова на флотацию.
Результатом всего многоэтапного процесса становится отжатый из пены твёрдый осадок, называемый флотоконцентратом. Концентраты в некоторых случаях могут быть использованы в качестве конечных готовых продуктов, но большей частью они требуют дальнейшей обработки (выщелачивания, плавки). Если флотоконцентрат не поступает на стадию химического обогащения, то его сушат в барабане, где концентрат доводится до стандартной влажности. Затем сухой концентрат отгружают на гидрометаллургический комбинат.
Промышленных способов стопроцентного извлечения золота из руды пока не существует. Однако, чтобы процесс обогащения был экономически выгодным, извлечение золота из руды должно быть максимальным. Показателем эффективности процесса обогащения является коэффициент извлечения золота.
Для того чтобы предприятие не было убыточным, важно по текущим показателям производства уметь прогнозировать коэффициент извлечения. С помощью машинного обучения можно построить модель, которая сможет предсказывать значение такого коэффициента.
Коэффициент извлечения золота рассчитывается по формуле:
$k = \frac{c_{выход} \times (c_{вход} - c_{отход})}{c_{вход} \times (c_{выход} - c_{отход})}$,
где $c_{вход}$ — содержание золота во входящем потоке на стадию,
$c_{выход}$ — содержание золота в выходящем со стадии потоке,
$c_{отход}$ — содержание золота в отвальных «хвостах» со стадии.
В нашем распоряжении находятся данные о параметрах сырья, полупродуктов и продуктов, вспомогательных веществ, а также физические значения параметров оборудования стадии флотации и двух стадий очистки, где также используется флотационное обогащение. Кроме того, в наборе данных присутствуют значения расчётных величин: предусмотренных технологическим процессом, а также значения двух коэффициентов извлечения золота — после стадии флотации и после всех стадий очистки.
Единицы величин неизвестны и носят условный характер. Однако для схожих физических величин их единицы также являются схожими, их размерность одинаковая.
Помимо набора данных, в котором содержатся все измеренные и рассчитанные значения, имеются также выделенные наборы данных для обучения и тестирования модели машинного обучения, сведения в них неполные, но все они содержатся в наборе данных со всеми значениями.
Цель проекта: построить модель, прогнозирующую коэффициент извлечения золота из руды.
Задачи проекта:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import sys
import os
from sklearn.dummy import DummyRegressor
from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import RandomForestRegressor
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import cross_val_score
from sklearn.metrics import mean_absolute_error, make_scorer
pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', 100)
np.set_printoptions(threshold=sys.maxsize)
RANDOM_STATE = 1
Все данные хранятся в трёх файлах.
Файлы данных gold_industry_train.csv, gold_industry_test.csv, gold_industry_full.csv имеют формат CSV.
PATHS = [r'C:\Users\Георгий\Documents\DS_projects', '/datasets', '/content']
def read_df(name, paths=PATHS):
'''
Функция загрузки данных из CSV-файлов
с проверкой существования пути к файлу.
Принимает название файла.
Возвращает набор данных из файла.
'''
for path in paths:
file_path = os.path.join(path, name)
if os.path.exists(file_path):
df = pd.read_csv(file_path)
return df
print(f'{name}: Something is wrong')
train = read_df('gold_industry_train.csv')
test = read_df('gold_industry_test.csv')
full = read_df('gold_industry_full.csv')
data_dict = {'train': train,
'test': test,
'full': full}
Убедимся, что данные подгрузились верно, без ошибок.
Для этого выведем первые 2 строки и последние 2 строки наборов данных.
for name in data_dict:
display(name)
display(data_dict[name].head(2))
display(data_dict[name].tail(2))
'train'
| date | rougher.input.feed_au | rougher.input.feed_ag | rougher.input.feed_pb | rougher.input.feed_sol | rougher.input.feed_rate | rougher.input.feed_size | rougher.input.floatbank10_sulfate | rougher.input.floatbank10_xanthate | rougher.state.floatbank10_a_air | rougher.state.floatbank10_a_level | rougher.state.floatbank10_b_air | rougher.state.floatbank10_b_level | rougher.state.floatbank10_c_air | rougher.state.floatbank10_c_level | rougher.state.floatbank10_d_air | rougher.state.floatbank10_d_level | rougher.state.floatbank10_e_air | rougher.state.floatbank10_e_level | rougher.state.floatbank10_f_air | rougher.state.floatbank10_f_level | rougher.input.floatbank11_sulfate | rougher.input.floatbank11_xanthate | rougher.calculation.sulfate_to_au_concentrate | rougher.calculation.floatbank10_sulfate_to_au_feed | rougher.calculation.floatbank11_sulfate_to_au_feed | rougher.calculation.au_pb_ratio | rougher.output.concentrate_au | rougher.output.concentrate_ag | rougher.output.concentrate_pb | rougher.output.concentrate_sol | rougher.output.recovery | rougher.output.tail_au | rougher.output.tail_ag | rougher.output.tail_pb | rougher.output.tail_sol | primary_cleaner.input.sulfate | primary_cleaner.input.depressant | primary_cleaner.input.feed_size | primary_cleaner.input.xanthate | primary_cleaner.state.floatbank8_a_air | primary_cleaner.state.floatbank8_a_level | primary_cleaner.state.floatbank8_b_air | primary_cleaner.state.floatbank8_b_level | primary_cleaner.state.floatbank8_c_air | primary_cleaner.state.floatbank8_c_level | primary_cleaner.state.floatbank8_d_air | primary_cleaner.state.floatbank8_d_level | primary_cleaner.output.concentrate_au | primary_cleaner.output.concentrate_ag | primary_cleaner.output.concentrate_pb | primary_cleaner.output.concentrate_sol | primary_cleaner.output.tail_au | primary_cleaner.output.tail_ag | primary_cleaner.output.tail_pb | primary_cleaner.output.tail_sol | secondary_cleaner.state.floatbank2_a_air | secondary_cleaner.state.floatbank2_a_level | secondary_cleaner.state.floatbank2_b_air | secondary_cleaner.state.floatbank2_b_level | secondary_cleaner.state.floatbank3_a_air | secondary_cleaner.state.floatbank3_a_level | secondary_cleaner.state.floatbank3_b_air | secondary_cleaner.state.floatbank3_b_level | secondary_cleaner.state.floatbank4_a_air | secondary_cleaner.state.floatbank4_a_level | secondary_cleaner.state.floatbank4_b_air | secondary_cleaner.state.floatbank4_b_level | secondary_cleaner.state.floatbank5_a_air | secondary_cleaner.state.floatbank5_a_level | secondary_cleaner.state.floatbank5_b_air | secondary_cleaner.state.floatbank5_b_level | secondary_cleaner.state.floatbank6_a_air | secondary_cleaner.state.floatbank6_a_level | secondary_cleaner.output.tail_au | secondary_cleaner.output.tail_ag | secondary_cleaner.output.tail_pb | secondary_cleaner.output.tail_sol | final.output.concentrate_au | final.output.concentrate_ag | final.output.concentrate_pb | final.output.concentrate_sol | final.output.recovery | final.output.tail_au | final.output.tail_ag | final.output.tail_pb | final.output.tail_sol | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2016-01-15 00:00:00 | 6.486150 | 6.100378 | 2.284912 | 36.808594 | 523.546326 | 55.486599 | 11.986616 | 6.007990 | 999.706909 | -404.066986 | 1603.011353 | -434.715027 | 1602.37500 | -442.204468 | 1598.937256 | -451.294128 | 1404.472046 | -455.462982 | 1416.354980 | -451.939636 | 11.836743 | 6.005818 | 41885.707031 | 3481.779053 | 3520.337158 | 2.838687 | 19.793808 | 11.500771 | 7.101074 | 28.029297 | 87.107763 | 1.170244 | 5.008018 | 0.508728 | 19.154297 | 127.092003 | 10.128295 | 7.25 | 0.988759 | 1549.775757 | -498.912140 | 1551.434204 | -516.403442 | 1549.873901 | -498.666595 | 1554.367432 | -493.428131 | 34.174427 | 8.547551 | 10.389648 | 19.529297 | 2.106679 | 14.936526 | 2.534912 | 7.476074 | 25.853109 | -498.526489 | 23.89366 | -501.406281 | 23.961798 | -495.262817 | 21.940409 | -499.340973 | 14.016835 | -502.488007 | 12.099931 | -504.715942 | 9.925633 | -498.310211 | 8.079666 | -500.470978 | 14.151341 | -605.841980 | 2.606185 | 14.500184 | 4.694824 | 8.764648 | 42.192020 | 6.055403 | 9.889648 | 5.507324 | 70.541216 | 2.143149 | 10.411962 | 0.895447 | 16.904297 |
| 1 | 2016-01-15 01:00:00 | 6.478583 | 6.161113 | 2.266033 | 35.753385 | 525.290581 | 57.278666 | 11.971193 | 6.005766 | 1000.286398 | -400.065196 | 1600.754587 | -449.953435 | 1600.47958 | -449.830646 | 1600.527589 | -449.953649 | 1399.227084 | -450.869848 | 1399.719514 | -450.119001 | 11.996163 | 6.012594 | 42050.861809 | 3498.370979 | 3489.981857 | 2.858998 | 20.050975 | 11.615865 | 7.278807 | 28.067063 | 86.843261 | 1.184827 | 4.955378 | 0.536689 | 18.965234 | 125.629232 | 10.296251 | 7.25 | 1.002663 | 1576.166671 | -500.904965 | 1575.950626 | -499.865889 | 1575.994189 | -499.315107 | 1574.479259 | -498.931665 | 34.118526 | 8.558743 | 10.497069 | 19.369147 | 2.353017 | 16.250511 | 3.049646 | 6.733907 | 25.880539 | -499.989656 | 23.88953 | -500.372428 | 23.970550 | -500.085473 | 22.085714 | -499.446897 | 13.992281 | -505.503262 | 11.950531 | -501.331529 | 10.039245 | -500.169983 | 7.984757 | -500.582168 | 13.998353 | -599.787184 | 2.488248 | 14.265474 | 4.592547 | 9.001494 | 42.701629 | 6.029369 | 9.968944 | 5.257781 | 69.266198 | 2.224930 | 10.462676 | 0.927452 | 16.634514 |
| date | rougher.input.feed_au | rougher.input.feed_ag | rougher.input.feed_pb | rougher.input.feed_sol | rougher.input.feed_rate | rougher.input.feed_size | rougher.input.floatbank10_sulfate | rougher.input.floatbank10_xanthate | rougher.state.floatbank10_a_air | rougher.state.floatbank10_a_level | rougher.state.floatbank10_b_air | rougher.state.floatbank10_b_level | rougher.state.floatbank10_c_air | rougher.state.floatbank10_c_level | rougher.state.floatbank10_d_air | rougher.state.floatbank10_d_level | rougher.state.floatbank10_e_air | rougher.state.floatbank10_e_level | rougher.state.floatbank10_f_air | rougher.state.floatbank10_f_level | rougher.input.floatbank11_sulfate | rougher.input.floatbank11_xanthate | rougher.calculation.sulfate_to_au_concentrate | rougher.calculation.floatbank10_sulfate_to_au_feed | rougher.calculation.floatbank11_sulfate_to_au_feed | rougher.calculation.au_pb_ratio | rougher.output.concentrate_au | rougher.output.concentrate_ag | rougher.output.concentrate_pb | rougher.output.concentrate_sol | rougher.output.recovery | rougher.output.tail_au | rougher.output.tail_ag | rougher.output.tail_pb | rougher.output.tail_sol | primary_cleaner.input.sulfate | primary_cleaner.input.depressant | primary_cleaner.input.feed_size | primary_cleaner.input.xanthate | primary_cleaner.state.floatbank8_a_air | primary_cleaner.state.floatbank8_a_level | primary_cleaner.state.floatbank8_b_air | primary_cleaner.state.floatbank8_b_level | primary_cleaner.state.floatbank8_c_air | primary_cleaner.state.floatbank8_c_level | primary_cleaner.state.floatbank8_d_air | primary_cleaner.state.floatbank8_d_level | primary_cleaner.output.concentrate_au | primary_cleaner.output.concentrate_ag | primary_cleaner.output.concentrate_pb | primary_cleaner.output.concentrate_sol | primary_cleaner.output.tail_au | primary_cleaner.output.tail_ag | primary_cleaner.output.tail_pb | primary_cleaner.output.tail_sol | secondary_cleaner.state.floatbank2_a_air | secondary_cleaner.state.floatbank2_a_level | secondary_cleaner.state.floatbank2_b_air | secondary_cleaner.state.floatbank2_b_level | secondary_cleaner.state.floatbank3_a_air | secondary_cleaner.state.floatbank3_a_level | secondary_cleaner.state.floatbank3_b_air | secondary_cleaner.state.floatbank3_b_level | secondary_cleaner.state.floatbank4_a_air | secondary_cleaner.state.floatbank4_a_level | secondary_cleaner.state.floatbank4_b_air | secondary_cleaner.state.floatbank4_b_level | secondary_cleaner.state.floatbank5_a_air | secondary_cleaner.state.floatbank5_a_level | secondary_cleaner.state.floatbank5_b_air | secondary_cleaner.state.floatbank5_b_level | secondary_cleaner.state.floatbank6_a_air | secondary_cleaner.state.floatbank6_a_level | secondary_cleaner.output.tail_au | secondary_cleaner.output.tail_ag | secondary_cleaner.output.tail_pb | secondary_cleaner.output.tail_sol | final.output.concentrate_au | final.output.concentrate_ag | final.output.concentrate_pb | final.output.concentrate_sol | final.output.recovery | final.output.tail_au | final.output.tail_ag | final.output.tail_pb | final.output.tail_sol | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 14577 | 2017-12-09 12:59:59 | 4.838619 | 6.121323 | 4.144989 | 38.591551 | 559.031805 | 119.499241 | 7.356687 | 9.304952 | 1196.569267 | -299.512227 | 1147.675196 | -500.608341 | 1048.565741 | -500.932810 | 949.773589 | -500.023144 | 848.515225 | -500.289405 | 850.013123 | -496.822119 | 7.095508 | 9.297924 | 46200.099585 | 2614.403937 | 2518.550078 | 1.167342 | 18.441436 | 11.425983 | 10.888213 | 29.783972 | 87.724007 | 0.771582 | 4.177943 | 0.650557 | 16.960649 | 120.878188 | 7.962636 | 6.5 | 1.302419 | 1649.820162 | -399.930973 | 1649.357538 | -399.721222 | 1648.656192 | -401.195834 | 1649.725133 | -400.636306 | 32.925325 | 6.612376 | 12.623947 | 7.542264 | 2.462890 | 23.002490 | 6.629725 | 4.089124 | 35.026062 | -499.891945 | 29.921795 | -499.949663 | 26.031747 | -500.384612 | 22.991058 | -500.079590 | 22.960095 | -501.612783 | 20.035660 | -500.251357 | 17.998535 | -500.395178 | 12.954048 | -499.895163 | 19.968498 | -501.041608 | 0.0 | 0.0 | 0.0 | 0.0 | 46.866780 | 3.195978 | 11.349355 | 6.862249 | 69.049291 | 1.612542 | 8.897321 | 3.130493 | 10.549470 |
| 14578 | 2017-12-09 13:59:59 | 4.525061 | 5.970515 | 4.020002 | 40.074026 | 555.682872 | 122.262690 | 6.586020 | 9.299606 | 1204.866639 | -299.235675 | 1149.942902 | -501.717903 | 1049.604390 | -500.549053 | 952.702732 | -502.352296 | 849.016017 | -500.505677 | 850.455635 | -506.897968 | 6.584130 | 9.300133 | 44585.181334 | 2510.813545 | 2510.142433 | 1.125637 | 15.111231 | 8.523497 | 8.955135 | 22.786467 | 88.890579 | 0.685059 | 4.050010 | 0.636095 | 18.323080 | 105.666118 | 7.955111 | 6.5 | 1.315926 | 1649.166761 | -399.888631 | 1649.196904 | -399.677571 | 1647.896999 | -399.988275 | 1649.772714 | -399.831902 | 31.856742 | 7.128896 | 12.633558 | 7.941900 | 2.612231 | 22.298149 | 6.278250 | 4.457457 | 35.003586 | -501.083794 | 29.990533 | -611.855898 | 25.948429 | -500.067268 | 22.968268 | -499.839442 | 23.015718 | -501.711599 | 19.951231 | -499.857027 | 18.019543 | -500.451156 | 13.023431 | -499.914391 | 19.990885 | -501.518452 | 0.0 | 0.0 | 0.0 | 0.0 | 46.795691 | 3.109998 | 11.434366 | 6.886013 | 67.002189 | 1.596616 | 8.529606 | 2.911418 | 11.115147 |
'test'
| date | rougher.input.feed_au | rougher.input.feed_ag | rougher.input.feed_pb | rougher.input.feed_sol | rougher.input.feed_rate | rougher.input.feed_size | rougher.input.floatbank10_sulfate | rougher.input.floatbank10_xanthate | rougher.state.floatbank10_a_air | rougher.state.floatbank10_a_level | rougher.state.floatbank10_b_air | rougher.state.floatbank10_b_level | rougher.state.floatbank10_c_air | rougher.state.floatbank10_c_level | rougher.state.floatbank10_d_air | rougher.state.floatbank10_d_level | rougher.state.floatbank10_e_air | rougher.state.floatbank10_e_level | rougher.state.floatbank10_f_air | rougher.state.floatbank10_f_level | rougher.input.floatbank11_sulfate | rougher.input.floatbank11_xanthate | primary_cleaner.input.sulfate | primary_cleaner.input.depressant | primary_cleaner.input.feed_size | primary_cleaner.input.xanthate | primary_cleaner.state.floatbank8_a_air | primary_cleaner.state.floatbank8_a_level | primary_cleaner.state.floatbank8_b_air | primary_cleaner.state.floatbank8_b_level | primary_cleaner.state.floatbank8_c_air | primary_cleaner.state.floatbank8_c_level | primary_cleaner.state.floatbank8_d_air | primary_cleaner.state.floatbank8_d_level | secondary_cleaner.state.floatbank2_a_air | secondary_cleaner.state.floatbank2_a_level | secondary_cleaner.state.floatbank2_b_air | secondary_cleaner.state.floatbank2_b_level | secondary_cleaner.state.floatbank3_a_air | secondary_cleaner.state.floatbank3_a_level | secondary_cleaner.state.floatbank3_b_air | secondary_cleaner.state.floatbank3_b_level | secondary_cleaner.state.floatbank4_a_air | secondary_cleaner.state.floatbank4_a_level | secondary_cleaner.state.floatbank4_b_air | secondary_cleaner.state.floatbank4_b_level | secondary_cleaner.state.floatbank5_a_air | secondary_cleaner.state.floatbank5_a_level | secondary_cleaner.state.floatbank5_b_air | secondary_cleaner.state.floatbank5_b_level | secondary_cleaner.state.floatbank6_a_air | secondary_cleaner.state.floatbank6_a_level | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2017-12-09 14:59:59 | 4.365491 | 6.158718 | 3.875727 | 39.135119 | 555.820208 | 94.544358 | 6.146982 | 9.308612 | 1196.238112 | -299.862743 | 1147.248241 | -500.363165 | 1047.279065 | -500.354091 | 948.756608 | -498.439416 | 849.441918 | -499.255503 | 850.112246 | -499.407112 | 6.168939 | 9.309852 | 95.248427 | 8.078957 | 6.5 | 1.283045 | 1648.759906 | -399.862053 | 1650.135395 | -399.957321 | 1648.831890 | -400.586116 | 1649.464582 | -400.673303 | 34.940919 | -500.150510 | 30.031867 | -500.328335 | 26.033990 | -500.147792 | 22.952306 | -500.037678 | 23.018622 | -500.492702 | 20.020205 | -500.220296 | 17.963512 | -499.939490 | 12.990306 | -500.080993 | 19.990336 | -499.191575 |
| 1 | 2017-12-09 15:59:59 | 4.362781 | 6.048130 | 3.902537 | 39.713906 | 544.731687 | 123.742430 | 6.210119 | 9.297709 | 1201.904177 | -299.907308 | 1154.087804 | -500.036580 | 1054.009756 | -500.237335 | 944.138793 | -496.866953 | 851.589767 | -499.040466 | 851.345606 | -499.122561 | 6.209517 | 9.297194 | 98.880538 | 7.984164 | 6.5 | 1.241969 | 1646.547763 | -398.977083 | 1648.212240 | -400.383265 | 1648.917387 | -399.521344 | 1651.498591 | -399.745329 | 34.980742 | -498.131002 | 29.968453 | -586.013330 | 25.971737 | -499.608392 | 22.958448 | -499.821308 | 23.024963 | -501.153409 | 20.054122 | -500.314711 | 17.979515 | -499.272871 | 12.992404 | -499.976268 | 20.013986 | -500.625471 |
| date | rougher.input.feed_au | rougher.input.feed_ag | rougher.input.feed_pb | rougher.input.feed_sol | rougher.input.feed_rate | rougher.input.feed_size | rougher.input.floatbank10_sulfate | rougher.input.floatbank10_xanthate | rougher.state.floatbank10_a_air | rougher.state.floatbank10_a_level | rougher.state.floatbank10_b_air | rougher.state.floatbank10_b_level | rougher.state.floatbank10_c_air | rougher.state.floatbank10_c_level | rougher.state.floatbank10_d_air | rougher.state.floatbank10_d_level | rougher.state.floatbank10_e_air | rougher.state.floatbank10_e_level | rougher.state.floatbank10_f_air | rougher.state.floatbank10_f_level | rougher.input.floatbank11_sulfate | rougher.input.floatbank11_xanthate | primary_cleaner.input.sulfate | primary_cleaner.input.depressant | primary_cleaner.input.feed_size | primary_cleaner.input.xanthate | primary_cleaner.state.floatbank8_a_air | primary_cleaner.state.floatbank8_a_level | primary_cleaner.state.floatbank8_b_air | primary_cleaner.state.floatbank8_b_level | primary_cleaner.state.floatbank8_c_air | primary_cleaner.state.floatbank8_c_level | primary_cleaner.state.floatbank8_d_air | primary_cleaner.state.floatbank8_d_level | secondary_cleaner.state.floatbank2_a_air | secondary_cleaner.state.floatbank2_a_level | secondary_cleaner.state.floatbank2_b_air | secondary_cleaner.state.floatbank2_b_level | secondary_cleaner.state.floatbank3_a_air | secondary_cleaner.state.floatbank3_a_level | secondary_cleaner.state.floatbank3_b_air | secondary_cleaner.state.floatbank3_b_level | secondary_cleaner.state.floatbank4_a_air | secondary_cleaner.state.floatbank4_a_level | secondary_cleaner.state.floatbank4_b_air | secondary_cleaner.state.floatbank4_b_level | secondary_cleaner.state.floatbank5_a_air | secondary_cleaner.state.floatbank5_a_level | secondary_cleaner.state.floatbank5_b_air | secondary_cleaner.state.floatbank5_b_level | secondary_cleaner.state.floatbank6_a_air | secondary_cleaner.state.floatbank6_a_level | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 4858 | 2018-08-18 09:59:59 | 6.702243 | 6.097592 | 2.278955 | 37.728375 | 549.812490 | 59.637037 | 13.746510 | 6.706417 | 999.635748 | -399.484884 | 1599.852212 | -449.448826 | 1599.325946 | -448.812166 | 1614.612892 | -449.774665 | 1401.626496 | -447.607440 | 1400.158685 | -448.035466 | 13.758277 | 6.702969 | 147.944885 | 12.481529 | 7.25 | 0.893913 | 1603.053015 | -499.728573 | 1600.537532 | -500.096021 | 1597.568005 | -499.601040 | 1599.213513 | -500.964698 | 26.111929 | -499.496608 | 24.094419 | -500.250900 | 23.945513 | -500.816108 | 23.995434 | -499.761541 | 13.983963 | -503.675714 | 11.928745 | -500.583183 | 9.970359 | -498.822343 | 8.016377 | -499.013145 | 14.000032 | -600.024741 |
| 4859 | 2018-08-18 10:59:59 | 6.633002 | 5.908793 | 2.440899 | 36.958540 | 573.076049 | 58.509262 | 13.707775 | 6.820245 | 1000.589156 | -398.879586 | 1598.975250 | -451.238638 | 1600.058139 | -451.271448 | 1610.182874 | -450.460190 | 1399.194663 | -450.332681 | 1399.638290 | -450.198722 | 13.812674 | 6.790624 | 138.120409 | 12.464032 | 7.25 | 0.898779 | 1603.436598 | -499.864400 | 1597.455353 | -500.266905 | 1600.747882 | -500.541002 | 1599.754053 | -499.216962 | 26.059510 | -499.151646 | 23.934570 | -499.351758 | 23.994184 | -500.078566 | 23.924481 | -499.989024 | 13.989632 | -503.195299 | 12.052233 | -500.928547 | 9.962574 | -502.986357 | 7.979219 | -500.146835 | 13.981614 | -598.070855 |
'full'
| date | rougher.input.feed_au | rougher.input.feed_ag | rougher.input.feed_pb | rougher.input.feed_sol | rougher.input.feed_rate | rougher.input.feed_size | rougher.input.floatbank10_sulfate | rougher.input.floatbank10_xanthate | rougher.state.floatbank10_a_air | rougher.state.floatbank10_a_level | rougher.state.floatbank10_b_air | rougher.state.floatbank10_b_level | rougher.state.floatbank10_c_air | rougher.state.floatbank10_c_level | rougher.state.floatbank10_d_air | rougher.state.floatbank10_d_level | rougher.state.floatbank10_e_air | rougher.state.floatbank10_e_level | rougher.state.floatbank10_f_air | rougher.state.floatbank10_f_level | rougher.input.floatbank11_sulfate | rougher.input.floatbank11_xanthate | rougher.calculation.sulfate_to_au_concentrate | rougher.calculation.floatbank10_sulfate_to_au_feed | rougher.calculation.floatbank11_sulfate_to_au_feed | rougher.calculation.au_pb_ratio | rougher.output.concentrate_au | rougher.output.concentrate_ag | rougher.output.concentrate_pb | rougher.output.concentrate_sol | rougher.output.recovery | rougher.output.tail_au | rougher.output.tail_ag | rougher.output.tail_pb | rougher.output.tail_sol | primary_cleaner.input.sulfate | primary_cleaner.input.depressant | primary_cleaner.input.feed_size | primary_cleaner.input.xanthate | primary_cleaner.state.floatbank8_a_air | primary_cleaner.state.floatbank8_a_level | primary_cleaner.state.floatbank8_b_air | primary_cleaner.state.floatbank8_b_level | primary_cleaner.state.floatbank8_c_air | primary_cleaner.state.floatbank8_c_level | primary_cleaner.state.floatbank8_d_air | primary_cleaner.state.floatbank8_d_level | primary_cleaner.output.concentrate_au | primary_cleaner.output.concentrate_ag | primary_cleaner.output.concentrate_pb | primary_cleaner.output.concentrate_sol | primary_cleaner.output.tail_au | primary_cleaner.output.tail_ag | primary_cleaner.output.tail_pb | primary_cleaner.output.tail_sol | secondary_cleaner.state.floatbank2_a_air | secondary_cleaner.state.floatbank2_a_level | secondary_cleaner.state.floatbank2_b_air | secondary_cleaner.state.floatbank2_b_level | secondary_cleaner.state.floatbank3_a_air | secondary_cleaner.state.floatbank3_a_level | secondary_cleaner.state.floatbank3_b_air | secondary_cleaner.state.floatbank3_b_level | secondary_cleaner.state.floatbank4_a_air | secondary_cleaner.state.floatbank4_a_level | secondary_cleaner.state.floatbank4_b_air | secondary_cleaner.state.floatbank4_b_level | secondary_cleaner.state.floatbank5_a_air | secondary_cleaner.state.floatbank5_a_level | secondary_cleaner.state.floatbank5_b_air | secondary_cleaner.state.floatbank5_b_level | secondary_cleaner.state.floatbank6_a_air | secondary_cleaner.state.floatbank6_a_level | secondary_cleaner.output.tail_au | secondary_cleaner.output.tail_ag | secondary_cleaner.output.tail_pb | secondary_cleaner.output.tail_sol | final.output.concentrate_au | final.output.concentrate_ag | final.output.concentrate_pb | final.output.concentrate_sol | final.output.recovery | final.output.tail_au | final.output.tail_ag | final.output.tail_pb | final.output.tail_sol | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2016-01-15 00:00:00 | 6.486150 | 6.100378 | 2.284912 | 36.808594 | 523.546326 | 55.486599 | 11.986616 | 6.007990 | 999.706909 | -404.066986 | 1603.011353 | -434.715027 | 1602.37500 | -442.204468 | 1598.937256 | -451.294128 | 1404.472046 | -455.462982 | 1416.354980 | -451.939636 | 11.836743 | 6.005818 | 41885.707031 | 3481.779053 | 3520.337158 | 2.838687 | 19.793808 | 11.500771 | 7.101074 | 28.029297 | 87.107763 | 1.170244 | 5.008018 | 0.508728 | 19.154297 | 127.092003 | 10.128295 | 7.25 | 0.988759 | 1549.775757 | -498.912140 | 1551.434204 | -516.403442 | 1549.873901 | -498.666595 | 1554.367432 | -493.428131 | 34.174427 | 8.547551 | 10.389648 | 19.529297 | 2.106679 | 14.936526 | 2.534912 | 7.476074 | 25.853109 | -498.526489 | 23.89366 | -501.406281 | 23.961798 | -495.262817 | 21.940409 | -499.340973 | 14.016835 | -502.488007 | 12.099931 | -504.715942 | 9.925633 | -498.310211 | 8.079666 | -500.470978 | 14.151341 | -605.841980 | 2.606185 | 14.500184 | 4.694824 | 8.764648 | 42.192020 | 6.055403 | 9.889648 | 5.507324 | 70.541216 | 2.143149 | 10.411962 | 0.895447 | 16.904297 |
| 1 | 2016-01-15 01:00:00 | 6.478583 | 6.161113 | 2.266033 | 35.753385 | 525.290581 | 57.278666 | 11.971193 | 6.005766 | 1000.286398 | -400.065196 | 1600.754587 | -449.953435 | 1600.47958 | -449.830646 | 1600.527589 | -449.953649 | 1399.227084 | -450.869848 | 1399.719514 | -450.119001 | 11.996163 | 6.012594 | 42050.861809 | 3498.370979 | 3489.981857 | 2.858998 | 20.050975 | 11.615865 | 7.278807 | 28.067063 | 86.843261 | 1.184827 | 4.955378 | 0.536689 | 18.965234 | 125.629232 | 10.296251 | 7.25 | 1.002663 | 1576.166671 | -500.904965 | 1575.950626 | -499.865889 | 1575.994189 | -499.315107 | 1574.479259 | -498.931665 | 34.118526 | 8.558743 | 10.497069 | 19.369147 | 2.353017 | 16.250511 | 3.049646 | 6.733907 | 25.880539 | -499.989656 | 23.88953 | -500.372428 | 23.970550 | -500.085473 | 22.085714 | -499.446897 | 13.992281 | -505.503262 | 11.950531 | -501.331529 | 10.039245 | -500.169983 | 7.984757 | -500.582168 | 13.998353 | -599.787184 | 2.488248 | 14.265474 | 4.592547 | 9.001494 | 42.701629 | 6.029369 | 9.968944 | 5.257781 | 69.266198 | 2.224930 | 10.462676 | 0.927452 | 16.634514 |
| date | rougher.input.feed_au | rougher.input.feed_ag | rougher.input.feed_pb | rougher.input.feed_sol | rougher.input.feed_rate | rougher.input.feed_size | rougher.input.floatbank10_sulfate | rougher.input.floatbank10_xanthate | rougher.state.floatbank10_a_air | rougher.state.floatbank10_a_level | rougher.state.floatbank10_b_air | rougher.state.floatbank10_b_level | rougher.state.floatbank10_c_air | rougher.state.floatbank10_c_level | rougher.state.floatbank10_d_air | rougher.state.floatbank10_d_level | rougher.state.floatbank10_e_air | rougher.state.floatbank10_e_level | rougher.state.floatbank10_f_air | rougher.state.floatbank10_f_level | rougher.input.floatbank11_sulfate | rougher.input.floatbank11_xanthate | rougher.calculation.sulfate_to_au_concentrate | rougher.calculation.floatbank10_sulfate_to_au_feed | rougher.calculation.floatbank11_sulfate_to_au_feed | rougher.calculation.au_pb_ratio | rougher.output.concentrate_au | rougher.output.concentrate_ag | rougher.output.concentrate_pb | rougher.output.concentrate_sol | rougher.output.recovery | rougher.output.tail_au | rougher.output.tail_ag | rougher.output.tail_pb | rougher.output.tail_sol | primary_cleaner.input.sulfate | primary_cleaner.input.depressant | primary_cleaner.input.feed_size | primary_cleaner.input.xanthate | primary_cleaner.state.floatbank8_a_air | primary_cleaner.state.floatbank8_a_level | primary_cleaner.state.floatbank8_b_air | primary_cleaner.state.floatbank8_b_level | primary_cleaner.state.floatbank8_c_air | primary_cleaner.state.floatbank8_c_level | primary_cleaner.state.floatbank8_d_air | primary_cleaner.state.floatbank8_d_level | primary_cleaner.output.concentrate_au | primary_cleaner.output.concentrate_ag | primary_cleaner.output.concentrate_pb | primary_cleaner.output.concentrate_sol | primary_cleaner.output.tail_au | primary_cleaner.output.tail_ag | primary_cleaner.output.tail_pb | primary_cleaner.output.tail_sol | secondary_cleaner.state.floatbank2_a_air | secondary_cleaner.state.floatbank2_a_level | secondary_cleaner.state.floatbank2_b_air | secondary_cleaner.state.floatbank2_b_level | secondary_cleaner.state.floatbank3_a_air | secondary_cleaner.state.floatbank3_a_level | secondary_cleaner.state.floatbank3_b_air | secondary_cleaner.state.floatbank3_b_level | secondary_cleaner.state.floatbank4_a_air | secondary_cleaner.state.floatbank4_a_level | secondary_cleaner.state.floatbank4_b_air | secondary_cleaner.state.floatbank4_b_level | secondary_cleaner.state.floatbank5_a_air | secondary_cleaner.state.floatbank5_a_level | secondary_cleaner.state.floatbank5_b_air | secondary_cleaner.state.floatbank5_b_level | secondary_cleaner.state.floatbank6_a_air | secondary_cleaner.state.floatbank6_a_level | secondary_cleaner.output.tail_au | secondary_cleaner.output.tail_ag | secondary_cleaner.output.tail_pb | secondary_cleaner.output.tail_sol | final.output.concentrate_au | final.output.concentrate_ag | final.output.concentrate_pb | final.output.concentrate_sol | final.output.recovery | final.output.tail_au | final.output.tail_ag | final.output.tail_pb | final.output.tail_sol | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 19437 | 2018-08-18 09:59:59 | 6.702243 | 6.097592 | 2.278955 | 37.728375 | 549.812490 | 59.637037 | 13.746510 | 6.706417 | 999.635748 | -399.484884 | 1599.852212 | -449.448826 | 1599.325946 | -448.812166 | 1614.612892 | -449.774665 | 1401.626496 | -447.607440 | 1400.158685 | -448.035466 | 13.758277 | 6.702969 | 42019.291707 | 3502.637709 | 3495.776643 | 2.940927 | 19.620480 | 11.528770 | 7.091962 | 27.774855 | 89.299981 | 1.031923 | 4.559246 | 0.557099 | 20.067665 | 147.944885 | 12.481529 | 7.25 | 0.893913 | 1603.053015 | -499.728573 | 1600.537532 | -500.096021 | 1597.568005 | -499.601040 | 1599.213513 | -500.964698 | 28.081869 | 5.899284 | 8.154167 | 14.301345 | 1.874228 | 15.993499 | 3.077749 | 7.312664 | 26.111929 | -499.496608 | 24.094419 | -500.250900 | 23.945513 | -500.816108 | 23.995434 | -499.761541 | 13.983963 | -503.675714 | 11.928745 | -500.583183 | 9.970359 | -498.822343 | 8.016377 | -499.013145 | 14.000032 | -600.024741 | 1.868321 | 13.795229 | 4.576720 | 9.876374 | 43.339714 | 5.664983 | 10.168953 | 5.484318 | 72.659046 | 2.064422 | 10.475957 | 1.050592 | 17.525656 |
| 19438 | 2018-08-18 10:59:59 | 6.633002 | 5.908793 | 2.440899 | 36.958540 | 573.076049 | 58.509262 | 13.707775 | 6.820245 | 1000.589156 | -398.879586 | 1598.975250 | -451.238638 | 1600.058139 | -451.271448 | 1610.182874 | -450.460190 | 1399.194663 | -450.332681 | 1399.638290 | -450.198722 | 13.812674 | 6.790624 | 41882.126352 | 3499.915439 | 3519.952954 | 2.717442 | 19.497669 | 11.116297 | 7.297363 | 27.497520 | 87.650868 | 1.167140 | 4.667157 | 0.615418 | 18.907179 | 138.120409 | 12.464032 | 7.25 | 0.898779 | 1603.436598 | -499.864400 | 1597.455353 | -500.266905 | 1600.747882 | -500.541002 | 1599.754053 | -499.216962 | 34.826500 | 8.098985 | 10.525324 | 18.436589 | 2.025454 | 15.535214 | 2.866688 | 7.265906 | 26.059510 | -499.151646 | 23.934570 | -499.351758 | 23.994184 | -500.078566 | 23.924481 | -499.989024 | 13.989632 | -503.195299 | 12.052233 | -500.928547 | 9.962574 | -502.986357 | 7.979219 | -500.146835 | 13.981614 | -598.070855 | 2.073737 | 13.209191 | 4.550553 | 9.813732 | 43.235220 | 5.687063 | 9.980404 | 5.282514 | 70.279619 | 2.209593 | 10.487013 | 1.159805 | 17.483979 |
Размер набора данных:
data_name = []
data_size = []
for name in data_dict:
data_name.append(name)
data_size.append(data_dict[name].shape)
pd.DataFrame(data_size,
columns=['Количество строк', 'Количество столбцов'],
index=data_name)
| Количество строк | Количество столбцов | |
|---|---|---|
| train | 14579 | 87 |
| test | 4860 | 53 |
| full | 19439 | 87 |
Убедимся, что сумма количества строк в наборах данных train и test равна количеству строк в наборе данных full.
train.shape[0] + test.shape[0]
19439
Количество дубликатов в наименованиях признаков:
data_name = []
columns_duplicated = []
for name in data_dict:
data_name.append(name)
columns_duplicated.append(data_dict[name].columns.duplicated().sum())
pd.DataFrame(columns_duplicated,
columns=['Количество дубликатов столбцов'],
index=data_name)
| Количество дубликатов столбцов | |
|---|---|
| train | 0 |
| test | 0 |
| full | 0 |
Уникальные наименования признаков:
train_columns = []
test_columns = []
full_columns = []
count_train_columns = 0
count_test_columns = 0
count_full_columns = 0
for column_name in full.columns.sort_values():
if column_name in train.columns:
train_columns.append('+')
count_train_columns +=1
else:
train_columns.append('')
if column_name in test.columns:
test_columns.append('+')
count_test_columns +=1
else:
test_columns.append('')
if column_name in full.columns:
full_columns.append('+')
count_full_columns +=1
else:
full_columns.append('')
pd.concat([
pd.DataFrame({'train_columns': train_columns,
'test_columns': test_columns,
'full_columns': full_columns},
index = full.columns.sort_values().tolist()),
pd.DataFrame({'Всего признаков': [count_train_columns,
count_test_columns,
count_full_columns]},
index = ['train_columns', 'test_columns', 'full_columns']).T
])
| train_columns | test_columns | full_columns | |
|---|---|---|---|
| date | + | + | + |
| final.output.concentrate_ag | + | + | |
| final.output.concentrate_au | + | + | |
| final.output.concentrate_pb | + | + | |
| final.output.concentrate_sol | + | + | |
| final.output.recovery | + | + | |
| final.output.tail_ag | + | + | |
| final.output.tail_au | + | + | |
| final.output.tail_pb | + | + | |
| final.output.tail_sol | + | + | |
| primary_cleaner.input.depressant | + | + | + |
| primary_cleaner.input.feed_size | + | + | + |
| primary_cleaner.input.sulfate | + | + | + |
| primary_cleaner.input.xanthate | + | + | + |
| primary_cleaner.output.concentrate_ag | + | + | |
| primary_cleaner.output.concentrate_au | + | + | |
| primary_cleaner.output.concentrate_pb | + | + | |
| primary_cleaner.output.concentrate_sol | + | + | |
| primary_cleaner.output.tail_ag | + | + | |
| primary_cleaner.output.tail_au | + | + | |
| primary_cleaner.output.tail_pb | + | + | |
| primary_cleaner.output.tail_sol | + | + | |
| primary_cleaner.state.floatbank8_a_air | + | + | + |
| primary_cleaner.state.floatbank8_a_level | + | + | + |
| primary_cleaner.state.floatbank8_b_air | + | + | + |
| primary_cleaner.state.floatbank8_b_level | + | + | + |
| primary_cleaner.state.floatbank8_c_air | + | + | + |
| primary_cleaner.state.floatbank8_c_level | + | + | + |
| primary_cleaner.state.floatbank8_d_air | + | + | + |
| primary_cleaner.state.floatbank8_d_level | + | + | + |
| rougher.calculation.au_pb_ratio | + | + | |
| rougher.calculation.floatbank10_sulfate_to_au_feed | + | + | |
| rougher.calculation.floatbank11_sulfate_to_au_feed | + | + | |
| rougher.calculation.sulfate_to_au_concentrate | + | + | |
| rougher.input.feed_ag | + | + | + |
| rougher.input.feed_au | + | + | + |
| rougher.input.feed_pb | + | + | + |
| rougher.input.feed_rate | + | + | + |
| rougher.input.feed_size | + | + | + |
| rougher.input.feed_sol | + | + | + |
| rougher.input.floatbank10_sulfate | + | + | + |
| rougher.input.floatbank10_xanthate | + | + | + |
| rougher.input.floatbank11_sulfate | + | + | + |
| rougher.input.floatbank11_xanthate | + | + | + |
| rougher.output.concentrate_ag | + | + | |
| rougher.output.concentrate_au | + | + | |
| rougher.output.concentrate_pb | + | + | |
| rougher.output.concentrate_sol | + | + | |
| rougher.output.recovery | + | + | |
| rougher.output.tail_ag | + | + | |
| rougher.output.tail_au | + | + | |
| rougher.output.tail_pb | + | + | |
| rougher.output.tail_sol | + | + | |
| rougher.state.floatbank10_a_air | + | + | + |
| rougher.state.floatbank10_a_level | + | + | + |
| rougher.state.floatbank10_b_air | + | + | + |
| rougher.state.floatbank10_b_level | + | + | + |
| rougher.state.floatbank10_c_air | + | + | + |
| rougher.state.floatbank10_c_level | + | + | + |
| rougher.state.floatbank10_d_air | + | + | + |
| rougher.state.floatbank10_d_level | + | + | + |
| rougher.state.floatbank10_e_air | + | + | + |
| rougher.state.floatbank10_e_level | + | + | + |
| rougher.state.floatbank10_f_air | + | + | + |
| rougher.state.floatbank10_f_level | + | + | + |
| secondary_cleaner.output.tail_ag | + | + | |
| secondary_cleaner.output.tail_au | + | + | |
| secondary_cleaner.output.tail_pb | + | + | |
| secondary_cleaner.output.tail_sol | + | + | |
| secondary_cleaner.state.floatbank2_a_air | + | + | + |
| secondary_cleaner.state.floatbank2_a_level | + | + | + |
| secondary_cleaner.state.floatbank2_b_air | + | + | + |
| secondary_cleaner.state.floatbank2_b_level | + | + | + |
| secondary_cleaner.state.floatbank3_a_air | + | + | + |
| secondary_cleaner.state.floatbank3_a_level | + | + | + |
| secondary_cleaner.state.floatbank3_b_air | + | + | + |
| secondary_cleaner.state.floatbank3_b_level | + | + | + |
| secondary_cleaner.state.floatbank4_a_air | + | + | + |
| secondary_cleaner.state.floatbank4_a_level | + | + | + |
| secondary_cleaner.state.floatbank4_b_air | + | + | + |
| secondary_cleaner.state.floatbank4_b_level | + | + | + |
| secondary_cleaner.state.floatbank5_a_air | + | + | + |
| secondary_cleaner.state.floatbank5_a_level | + | + | + |
| secondary_cleaner.state.floatbank5_b_air | + | + | + |
| secondary_cleaner.state.floatbank5_b_level | + | + | + |
| secondary_cleaner.state.floatbank6_a_air | + | + | + |
| secondary_cleaner.state.floatbank6_a_level | + | + | + |
| Всего признаков | 87 | 53 | 87 |
Количество элементов данных:
data_name = []
data_size = []
for name in data_dict:
data_name.append(name)
data_size.append(data_dict[name].size)
pd.DataFrame(data_size,
columns=['Количество элементов данных'],
index=data_name)
| Количество элементов данных | |
|---|---|
| train | 1268373 |
| test | 257580 |
| full | 1691193 |
Типы данных набора данных:
data_name = []
data_types = pd.DataFrame()
for name in data_dict:
data_name.append(name)
data_types = pd.concat([
data_types,
pd.DataFrame(data_dict[name].dtypes.value_counts(), columns=[name]).T
])
data_types
| float64 | object | |
|---|---|---|
| train | 86 | 1 |
| test | 52 | 1 |
| full | 86 | 1 |
Пропущенные значения в данных:
total = full.isna().sum().sort_values(ascending=False)
percent = (full.isna().mean() * 100).round(1).sort_values(ascending=False)
pd.concat([total, percent], axis=1, keys=['Всего пропусков', '%'])
| Всего пропусков | % | |
|---|---|---|
| secondary_cleaner.output.tail_sol | 1748 | 9.0 |
| rougher.input.floatbank11_xanthate | 453 | 2.3 |
| rougher.state.floatbank10_e_air | 436 | 2.2 |
| primary_cleaner.output.concentrate_sol | 370 | 1.9 |
| secondary_cleaner.state.floatbank2_a_air | 220 | 1.1 |
| final.output.concentrate_sol | 211 | 1.1 |
| rougher.input.feed_size | 145 | 0.7 |
| primary_cleaner.output.concentrate_pb | 116 | 0.6 |
| primary_cleaner.input.xanthate | 104 | 0.5 |
| final.output.tail_pb | 101 | 0.5 |
| rougher.input.feed_pb | 100 | 0.5 |
| rougher.input.feed_sol | 99 | 0.5 |
| primary_cleaner.output.tail_sol | 62 | 0.3 |
| rougher.input.floatbank11_sulfate | 44 | 0.2 |
| primary_cleaner.input.depressant | 37 | 0.2 |
| rougher.input.floatbank10_sulfate | 34 | 0.2 |
| primary_cleaner.input.sulfate | 24 | 0.1 |
| rougher.output.concentrate_sol | 23 | 0.1 |
| secondary_cleaner.state.floatbank2_b_air | 23 | 0.1 |
| primary_cleaner.output.tail_pb | 21 | 0.1 |
| secondary_cleaner.state.floatbank3_a_air | 13 | 0.1 |
| secondary_cleaner.output.tail_pb | 12 | 0.1 |
| rougher.input.feed_rate | 11 | 0.1 |
| rougher.input.floatbank10_xanthate | 8 | 0.0 |
| secondary_cleaner.state.floatbank4_a_air | 6 | 0.0 |
| final.output.tail_sol | 6 | 0.0 |
| primary_cleaner.output.tail_ag | 4 | 0.0 |
| primary_cleaner.state.floatbank8_b_air | 4 | 0.0 |
| primary_cleaner.state.floatbank8_a_air | 4 | 0.0 |
| primary_cleaner.state.floatbank8_d_air | 3 | 0.0 |
| rougher.calculation.sulfate_to_au_concentrate | 2 | 0.0 |
| secondary_cleaner.output.tail_ag | 2 | 0.0 |
| primary_cleaner.state.floatbank8_c_air | 2 | 0.0 |
| secondary_cleaner.state.floatbank6_a_air | 2 | 0.0 |
| rougher.calculation.floatbank11_sulfate_to_au_feed | 2 | 0.0 |
| rougher.calculation.floatbank10_sulfate_to_au_feed | 2 | 0.0 |
| secondary_cleaner.state.floatbank3_b_air | 1 | 0.0 |
| final.output.tail_ag | 1 | 0.0 |
| final.output.concentrate_pb | 1 | 0.0 |
| final.output.concentrate_ag | 1 | 0.0 |
| secondary_cleaner.state.floatbank4_b_level | 1 | 0.0 |
| secondary_cleaner.state.floatbank4_b_air | 1 | 0.0 |
| secondary_cleaner.state.floatbank2_a_level | 1 | 0.0 |
| secondary_cleaner.state.floatbank6_a_level | 1 | 0.0 |
| secondary_cleaner.state.floatbank3_a_level | 1 | 0.0 |
| secondary_cleaner.state.floatbank4_a_level | 1 | 0.0 |
| secondary_cleaner.state.floatbank2_b_level | 1 | 0.0 |
| secondary_cleaner.state.floatbank5_a_air | 1 | 0.0 |
| secondary_cleaner.state.floatbank5_b_level | 1 | 0.0 |
| secondary_cleaner.state.floatbank5_b_air | 1 | 0.0 |
| secondary_cleaner.state.floatbank3_b_level | 1 | 0.0 |
| secondary_cleaner.state.floatbank5_a_level | 1 | 0.0 |
| primary_cleaner.state.floatbank8_b_level | 1 | 0.0 |
| rougher.state.floatbank10_a_level | 1 | 0.0 |
| primary_cleaner.state.floatbank8_d_level | 1 | 0.0 |
| primary_cleaner.state.floatbank8_c_level | 1 | 0.0 |
| rougher.state.floatbank10_a_air | 1 | 0.0 |
| primary_cleaner.state.floatbank8_a_level | 1 | 0.0 |
| rougher.state.floatbank10_c_level | 1 | 0.0 |
| rougher.state.floatbank10_c_air | 1 | 0.0 |
| rougher.output.tail_ag | 1 | 0.0 |
| rougher.state.floatbank10_b_air | 1 | 0.0 |
| rougher.state.floatbank10_b_level | 1 | 0.0 |
| final.output.concentrate_au | 0 | 0.0 |
| secondary_cleaner.output.tail_au | 0 | 0.0 |
| rougher.state.floatbank10_d_air | 0 | 0.0 |
| primary_cleaner.output.tail_au | 0 | 0.0 |
| rougher.state.floatbank10_e_level | 0 | 0.0 |
| final.output.recovery | 0 | 0.0 |
| final.output.tail_au | 0 | 0.0 |
| rougher.input.feed_ag | 0 | 0.0 |
| rougher.state.floatbank10_d_level | 0 | 0.0 |
| rougher.state.floatbank10_f_level | 0 | 0.0 |
| rougher.state.floatbank10_f_air | 0 | 0.0 |
| primary_cleaner.output.concentrate_ag | 0 | 0.0 |
| rougher.calculation.au_pb_ratio | 0 | 0.0 |
| rougher.output.concentrate_au | 0 | 0.0 |
| rougher.output.concentrate_ag | 0 | 0.0 |
| rougher.output.concentrate_pb | 0 | 0.0 |
| rougher.output.recovery | 0 | 0.0 |
| rougher.output.tail_au | 0 | 0.0 |
| rougher.output.tail_pb | 0 | 0.0 |
| rougher.output.tail_sol | 0 | 0.0 |
| primary_cleaner.input.feed_size | 0 | 0.0 |
| rougher.input.feed_au | 0 | 0.0 |
| primary_cleaner.output.concentrate_au | 0 | 0.0 |
| date | 0 | 0.0 |
Промежуточный вывод
full содержит 87 уникальных признаков и 19 439 записей,
train — 87 уникальных признаков и 14 579 записей,
test — 53 уникальных признака и 4860 записей.full — 1 691 193,
train — 1 268 373,
test — 257 580.full содержит данные следующего типа:train содержит данные следующего типа:test содержит данные следующего типа:full 24 признака не содержат пропущенные значения.full содержат пропущенные значения:train содержатся исторические сведения о ведении технологического процесса: параметры, получаемые на технологической линии, и данные, получаемые после аналитического контроля из заводской лаборатории, которые характеризуют химический состав концентратов и конечного продукта. В наборе данных test содержатся данные текущего технологического процесса: технологические операции на линиях непрерывно выполняются, а результатов аналитического контроля ещё нет (заводская лаборатория ещё не провела испытания), в том числе остаётся неизвестным коэффициент извлечения золота. Таким образом, прогностическая модель, обученная на параметрах работы технологического оборудования, позволит предсказывать значение величины, получаемое в результате аналитического контроля.Добытая и измельчённая руда поступает на флотационное обогащение. Процесс обогащения золота включает в себя стадию флотации и две стадии очистки (первую и вторую).
Контроль параметров процесса выполняется через определённый временной период. Поэтому каждый набор параметров производства сопровождается указанием даты и времени их регистрации.
date — дата и время регистрации показателей
Признак является количественным, дискретным.
Шкала измерения признака: интервальная шкала.
Принципиальная технологическая схема стадии флотации и стадий очистки 1 и 2 приведена на рис. 1.